package com.wn32.main.demo2;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class ZhiFu {
    public static void main(String[] args) throws ParseException {
        ArrayList<String> list = new ArrayList<>();
        list.add("6228480276352110064_100.00_2020-01-02");
        list.add("6228480276352110077_400.00_2020-01-02");
        list.add("6228480276352110035_400.00_2020-01-02");
        list.add("6228480276352110077_110.00_2020-02-02");
        list.add("6228480276352110064_160.00_2020-01-02");
        list.add("6228480276352110064_900.00_2020-01-02");
        list.add("6228480276352110077_300.00_2020-03-02");
        list.add("6228480276352110056_100.00_2020-01-02");

        ArrayList<String> list1 = new ArrayList<>();
        HashMap<String, String> map = new HashMap<>();

        for (String s : list) {
            String[] str = s.split("_");
            String cardId=str[0];
            Double money=Double.parseDouble(str[1]);
            Date date = new SimpleDateFormat("yyyy-MM-dd").parse(str[2]);
            if(map.containsKey(cardId)){
                String[] str1 = map.get(cardId).split("_");
                Double realMoney=money + Double.parseDouble(str1[0]);
                Date date1=new SimpleDateFormat("yyyy-MM-dd").parse(str1[1]);
                Date realDate = date1.after(date) ? date1 : date;
//                System.out.println("realDate:"+realDate);
                map.put(cardId,realMoney+"_"+new SimpleDateFormat("yyyy-MM-dd").format(realDate));
            }else{
                map.put(cardId,money+"_"+str[2]);
            }
        }
        for (Map.Entry<String, String> me : map.entrySet()) {
            System.out.println(me.getKey()+":"+me.getValue());
        }
    }
}
